package com.qdlc.p2p.dal.mybatis.model.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.qdlc.p2p.dal.dto.AdditionalUserCard;
import com.qdlc.p2p.dal.model.AdditionalUserCardModel;

public interface AdditionalUserCardMapper {
	
	/**
	 * 插入记录
	 * @param record
	 * @return
	 */
	int save(AdditionalUserCard record);
	
    /**
     * 修改记录
     * @param record
     * @return
     */
    int update(AdditionalUserCard record);

    /**
     * 修改用户卡片状态
     *
     * @param status
     * @param preStatus
     * @param id
     * @return
     * @author Kaiju Zhao
     */
    int updateStatus(@Param("status")int status, @Param("preStatus")int preStatus, @Param("id")long id);

    /**
     * 使用用户卡片（兑换使用）
     * @param userId
     * @param cardIds
     * @return
     * @author linya
     */
    int useUserCard(@Param("userId")long userId, @Param("ids")long[] cardIds);

    /**
     * 根据IDs获取卡片数据
     * @param userId
     * @param cardIds
     * @return
     * @author linya
     */
    List<AdditionalUserCard> findUserCards(@Param("userId")long userId, @Param("ids")long[] cardIds);

    /**
     * 查询能使用的用户卡片信息列表
     *
     * @return
     * @author Kaiju Zhao
     */
    List<AdditionalUserCardModel> findUsableUserCardList();

    /**
     * 分页获取用户卡片信息列表
     *
     * @param model
     * @return
     * @author Kaiju Zhao
     */
    List<AdditionalUserCardModel> list(AdditionalUserCardModel model);



}